מספר דוגמאות שימושיות ל htaccess, הקובץ שמייפה לנו את הקישורים ועושה לנו חיים יותר קלים במקרים מסויימים.
היי :-).
הייתי בחיפוש אגרסיבי אחר דוגמאות לשימוש ב htaccess ומצאתי כמה אתרים חמודים מאוד שנתנו לי כמה דוגמאות מאוד שימושיות לשימוש בקובץ הפלא שלנו - .htaccess.
בואו נתחיל:
1) www בתחילת הכתובת:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.com [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^site.com [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [L,R=301]
2) ביטול ה www בתחילת הכתובת:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]
3) דיי להעתקת התמונות
מכירים את זה שאנשים מעתיקים את הקישור של התמונה מהאתר שלכם ומשתמשים בזה ?, לאלה שלא אוהבים את זה פשוט מוסיפים את הקוד הבא וכל פעם שמישהו ינסה "לגנוב" לכם תמונה, תופיע לו התמונה שתגדירו במקום תמונת ה warning בתיקית images, כמובן שאתם יכולים להוסיף עוד פורמטים בסוגרים שמה שמפריד בניהם זה "|":RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?site\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpg|gif|bmp|png)$ /images/warning.png [L]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?site\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpg|gif|bmp|png)$ /images/warning.png [L]
4) php & js
מגניב, קוד זה מאפשר לכם לעבוד עם php בתוך קבצי ה js. אין פה יותר מידי מה לעשות, פרט שהקובץ htaccess יהיה בתוך התיקייה שבה נמצא קובץ ה js:<FilesMatch "^.*?api.*?$">
SetHandler php5-script
</FilesMatch>
SetHandler php5-script
</FilesMatch>
5) ניווט לכתובת
אחרת פשוט מאוד, החלפתם כתובת ? ברור לכם שלא תעברו גולש גולש ותודיעו לו על הכתובת החדשה או שאפשר גם להשאיר הודעה עם הכתובת החדשה, אבל הכי בטוח זה פשוט לנווט אותם ישירות לכתובת החדשה שלך בעת כניסתם לכתובת הישנה בעזרת הקוד הבא:Redirect 301 / http://newsite.com/
6) קידוד
מאוד מומלץ לדעתי להוסיף את זה לכל קובץ htaccess, לא מזיק ופשוט מגדיר לכל הקבצים קידוד אחיד בעזרת הקוד הבא:AddDefaultCharset utf-8
7) שינוי קובץ ה index שלכם
99.99% מהאתרים ברשת, קובץ האינדקס שלהם הוא index.php, אבל אם בכל זאת בא לכם להיות מהאחוז הנותר שלא בא לו להיות כמו כולם, קוד זה מאפשר לכם לשנות את שם הקובץ הראשי שלכם (פשוט כותבים במקום ה iinnddeexx.htm את השם שאתם רוצים):DirectoryIndex iinnddeexx.htm
8) דף גלישה ייחודי לiPhone
אם ברצונכם ליצור דף גלישה ייחודי לגולשים דרך ה-iPhone זה הקוד בשבילכם:RewriteCond %{HTTP_USER_AGENT} .*iPhone.*
RewriteRule ^index\.php$ http://www.iphone.site.com [L]
RewriteRule ^index\.php$ http://www.iphone.site.com [L]
9) דף גלישה ייחודי לiPad
אם ברצונכם ליצור דף גלישה ייחודי לגולשים דרך ה-iPad זה הקוד בשבילכם:RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.site.com [R=301]
RewriteRule ^(.*)$ http://ipad.site.com [R=301]
10) דפי שגיאה מעוצבים
המון פעמים קורה לנו שאנחנו גולשים לכתובת בטעות, או שפתאום משהו בשרת נופל ואז *בום* שגיאה לא נעימה לגולש ולנו ביחד. מי אמר שאין לזה פתרון ?:ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
תעצבו לעצמכם דפי שגיאה חמודים יותר ממה שהשרת מספק לנו ובמקרה זה כל דפי השגיאה נמצאים בתיקיית errors, נוח מאוד שזה מרוכז במקום אחד.
זהו לבנתיים, היו עוד כמה אתרים שנתנו עוד כמה דוגמאות אבל לצערי הדפדפן קרס ולא שיחזר את הכרטיסיות, אם אמצא עוד פשוט אעדכן :).
מקווה שעזרתי לכם :).
תגובות לכתבה:
רוב המידע הזה מועתק מהאשכול הנ"ל: http://www.fxp.co.il/showthread.php?t=5912952
אין סיבה לשכפל מידע :) עדיף אם כבר פשוט להפנות לאשכול ישירות.
האמת שזה מועתק מאתרים אחרים ולא מ fxp כי אני בקושי גולש שם.
בכ"מ כנראה הוא הוציא את המידע גם כן מאותו מקום שאני הוצאתי כי אני לא עד כדי כך אוטיסט בשביל להעתיק את הכל.
סלח לי, אבל יש אנשים שלא הכי אוהבים שימוש במילה "אוטיסט" במטרה לבטא תכונות רעות/טמטום.
נ.ב. שכפול תוכן יפגע בדירוג האתר בגוגל.
אז תעשו טובה ותמחקו את זה לגמרי.
אני מסביר לכם שלא ראיתי בכלל את מה שפורסם ב fxp מהסיבה הפשוטה שאני לא גולש שם.
העתקתי את זה מכמה אתרים אחרים שהופיעו בגוגל והוספתי גם כמה מילים משלי, אין לזה קשר בכלל למה שיש ב fxp ויצא שפורסם כמעט אותו דבר. אין לי אינטרס להעתיק כי לא יצא מזה כלום.
לא נורא, לא קרה כלום פשוט תמחקו את זה לגמרי כי נ יכול רק לערוך את זה לא למחוק.
איזה כיף לכתוב כתבה מיותרת ברמה 0.
עוד יותר כיף לראות כתבה מלאה ב --------------------- באמצע העמוד הראשי :<
למה אתה מקשיב להם בכלל. כתבת כתבה, אחלה. הועתק, לא הועתק - כל עוד זה יעזור למישהו, לפחות אחד - עשית מצווה גדולה. כל דבר שכתוב כאן באתר כתוב בלפחות עוד 100 מקומות שונים ולאף אחד זה לא הפריע.
צודק לא חשבתי על זה, החזרתי את זה בכל מקרה ...
ועוד משהו, כתוב לי למעלה בצד:
"מדריך זה עדיין לא אושר וניתן לצפיה רק לך".
איך זה שכל השאר רואים ומגיבים פה ?
הוא היה מאושר ומפורסם לתקופה מסוימת.
קודם כל נתחיל בזה שהמדריך כתוב בצורה טובה בניגוד למדריכים אחרים בתחום.
דבר אחד שיכול להפוך אותו למעולה זה הסברים.
למשל:
מה "[L,R=301]" אומר?
וכד'...
מקווה שתעשו מדריך מפורט יותר
אגב, הסברים על רוב הדגלים L, R, NC, QSA יש במדריך על שכתוב כתובות בעברית.
http://phpguide.co.il/mod_rewrite וקישורים בעברית.htm
תיקון לסעיף 4:
זה צריך להיות:
http://pastebin.com/4rTxE68P
הביטול העתקת תמונות, לא באמת עובד, זה לא באמת אפשרי...